package org.feng.common.util;

import org.springframework.util.StringUtils;

import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * 字符串工具类
 *
 * @author fengjinsong
 */
public class StringUtil {

    /**
     * 英文逗号
     */
    public static final String ENGLISH_COMMA = ",";

    /**
     * 切割字符串
     *
     * @param content   字符串内容
     * @param separator 分隔符，比如英文逗号
     * @return 切割后的字符串set集合
     */
    public static Set<String> splitToSet(String content, String separator) {
        Stream<String> item = Stream.of(content);
        return item.flatMap(s -> Arrays.stream(s.split(separator)))
                .filter(StringUtils::hasLength)
                .collect(Collectors.toSet());
    }

    /**
     * 切割字符串
     *
     * @param content   字符串内容
     * @param separator 分隔符，比如英文逗号
     * @return 切割后的字符串list集合
     */
    public static List<String> splitToList(String content, String separator) {
        Stream<String> item = Stream.of(content);
        return item.flatMap(s -> Arrays.stream(s.split(separator)))
                .filter(StringUtils::hasLength)
                .collect(Collectors.toList());
    }

}
